.root {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: var(--background-color);
}

.content {
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    flex: 1 1 auto;
    height: 0;

    & .sidebar {
        display: flex;
        flex-direction: column;
        min-width: 150px;
        max-width: 85%;
        background-color: var(--background-color);
        position: relative;

        & .sidebarItem {
            margin-top: 10px;
            overflow: hidden;
            flex: 1 1 auto;
            height: 0;
        }
    }

    & .viewportContainer {
        position: relative;
        background-color: var(--viewport-background-color);
        flex: 1 1 auto;
        width: 0;

        .viewport {
            height: 100%;
            position: relative;
        }
    }
}

.sidebarResizer {
    width: 6px;
    cursor: ew-resize;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    background: var(--resizer-gradient);
    transition: background 0.2s;
}
.sidebarResizer:hover {
    background: var(--resizer-gradient-hover);
}

.statusbar {
    height: 24px;
    display: flex;
    flex-direction: column;
}

@media (max-width: 680px) {
    .content {
        flex-direction: column-reverse;
        min-height: 0;

        & .viewportContainer {
            height: 100px;
            width: 100%;
        }

        & .sidebar {
            display: none;
            flex: 1 1 auto;
            width: 100%;
        }
    }
}
